@外部依赖库("../依赖包")
@附加权限(安卓权限.网络权限)
@附加权限(安卓权限.改变网络权限)
@附加权限(安卓权限.WIFI信息权限)
@附加权限(安卓权限.改变WIFI权限)
@附加权限(安卓权限.文件权限_写入)
@附加权限(安卓权限.文件权限_读取)
@导入Java("com.tencent.tauth.Tencent")
@导入Java("com.tencent.tauth.*")
@导入Java("org.json.*")
@导入Java("com.tencent.connect.share.*")
@导入Java("android.os.Bundle")
@导入Java("android.content.Context")
@导入Java("com.tencent.connect.common.Constants")
@导入Java("com.tencent.connect.UserInfo")
@导入Java("com.tencent.connect.auth.QQToken")
@导入Java("com.tencent.tauth.IUiListener")
@导入Java("com.tencent.tauth.UiError")
@导入Java("com.tencent.tauth.Tencent")
@强制输出
类 QQ互联
	@code
	
	public static Tencent mTencent;
	private com.tencent.tauth.IUiListener loginListener;
	public #<QQ互联>() {
		super();
		//初始化sdk
		mTencent.setIsPermissionGranted(true);
		loginListener = new BaseUiListener() {
			@Override
			protected void doComplete(JSONObject values) {
				//	Log.d("SDKQQAgentPref", "AuthorSwitch_SDK:" + SystemClock.elapsedRealtime());
				// initOpenidAndToken(values);
				// updateUserInfo();
				//  updateLoginButton();
			}
		};
	}
	@end


	@编译时处理参数
	@附加可变清单([[<activity
		android:name="com.tencent.tauth.AuthActivity"
		android:noHistory="true"
		android:launchMode="singleTask">
		<intent-filter>
			<action
				android:name="android.intent.action.VIEW"/>
			<category
				android:name="android.intent.category.DEFAULT"/>
			<category
				android:name="android.intent.category.BROWSABLE"/>
			<data
				android:scheme="tencent.${APPId}"/>
		</intent-filter>
	</activity>
	<activity
		android:name="com.tencent.connect.common.AssistActivity"
		android:theme="@android:style/Theme.Translucent.NoTitleBar"
		android:configChanges="orientation|keyboardHidden|screenSize"/>
]])
	方法 初始化(APPId:文本,环境:安卓环境)
		APPId1=APPId
		环境1=环境.取全局环境()
		code mTencent = Tencent.createInstance(#APPId,#环境 ); 
	结束 方法

	@隐藏
	变量 APPId1:文本
	变量 环境1:安卓环境=空

	方法 登录(环境:安卓窗口)
		@code
		mTencent.loginWithOEM(#环境, "get_user_info,pay,get_vip_info", loginListener, false, #APPId1,#APPId1,"xxxx");
		@end
	结束 方法
	方法 注销(环境:安卓环境)
		code mTencent.logout(#环境);
	结束 方法

	方法 通过缓存登录():逻辑型
		@code
		mTencent.initSessionCache(mTencent.loadSession(#APPId1));
		if (mTencent.isSessionValid()){
			UserInfo info = new UserInfo(#环境1, mTencent.getQQToken());
			info.getUserInfo(loginListener);
			return true;
		}else{
			return false;
		}
		@end
	结束 方法


	方法 跳转授权页面(环境:安卓窗口)
		@code
		mTencent.startAuthManagePage(#环境,new com.tencent.open.apireq.IApiCallback(){
			@Override
			public void onResp(com.tencent.open.apireq.BaseResp baseResp) {
			}
		});
		@end
	结束 方法

	方法 开始获取用户信息(环境:安卓环境)
		@code
		UserInfo userInfo = new UserInfo(#环境, mTencent.getQQToken());
		userInfo.getUserInfo(new IUiListener() {
			@Override
			public void onComplete(Object response) {
				#获取用户信息成功((JSONObject)response);
			}
			
			@Override
			public void onError(UiError e) {
				#获取用户信息失败(e);
			}
			
			@Override
			public void onWarning(int a) {
			}
			
			@Override
			public void onCancel() {
				#获取用户信息失败("被取消");
			}
		});
		@end
	结束 方法

	定义事件 获取用户信息成功(信息:JSON对象)
	定义事件 获取用户信息失败(错误信息:对象)

	方法 分享到qq(环境:安卓窗口,标题:文本,摘要:文本,分享链接:文本,logo:文本)
		@code
		final Bundle params = new Bundle();
		params.putInt(QQShare.SHARE_TO_QQ_KEY_TYPE, QQShare.SHARE_TO_QQ_TYPE_DEFAULT);
		params.putString(QQShare.SHARE_TO_QQ_TITLE, #标题);
		params.putString(QQShare.SHARE_TO_QQ_SUMMARY, #摘要);
		params.putString(QQShare.SHARE_TO_QQ_TARGET_URL, #分享链接);
		params.putString(QQShare.SHARE_TO_QQ_IMAGE_URL, #logo);
		mTencent.shareToQQ(#环境, params, new BaseUiListener());
		@end
	结束 方法 
	方法 腾讯互联回调(请求码:整数,结果码:整数,数据:启动信息)
		@code
		if (loginListener == null)
		return;
		com.tencent.tauth.Tencent.onActivityResultData(#请求码,#结果码,#数据,loginListener);
		@end
	结束 方法
	定义事件 登录失败()
	定义事件 登录成功(json:JSON对象)
	定义事件 取消登录()

	@code
	private class BaseUiListener extends DefaultUiListener {
		
		@Override
		public void onComplete(Object response) {
			if (null == response) {
				return;
			}
			JSONObject jsonResponse = (JSONObject) response;
			if (jsonResponse.length() == 0) {
				#登录失败();
				return;
			}
			
			try{
				String token = jsonResponse.getString(Constants.PARAM_ACCESS_TOKEN);
				String expires = jsonResponse.getString(Constants.PARAM_EXPIRES_IN);
				String openId = jsonResponse.getString(Constants.PARAM_OPEN_ID);
				
				mTencent.setAccessToken(token, expires);
				mTencent.setOpenId(openId);
			} catch(Exception e) {
			}
			
			#登录成功((JSONObject)response);
			doComplete((JSONObject)response);
		}
		
		protected void doComplete(JSONObject values) {
			
		}
		
		@Override
		public void onError(UiError e) {
			
		}
		
		@Override
		public void onCancel() {
			#取消登录();
		}
	}
	
	@end
结束 类